The present invention generally relates to a packet telephony appliance.
Potential efficiencies in using data networks for intra-company telecommunications are generally recognized. Many companies have interconnected their office PBXs using corporate intranets. Given that many office environments are equipped with high-speed LANs, an opportunity exists for additional efficiencies to be achieved by extending packet telephony to the desktop, thus eliminating the need for maintaining two separate office networks. With greater penetration of high-speed residential access and new technologies for in-home networking, similar opportunities exist for packet telephony in the home.
Conventional devices suffer from a number of disadvantages. Some devices are unable to process multimedia data and/or implement new user interfaces. Other conventional devices suffer from difficulties related to software/hardware installation and configuration, low voice quality due to operating system latencies and scheduling idiosyncrasies, and exorbitant expense in comparison to other consumer appliances. Still other conventional devices are relatively large, generate vast amounts of noise and heat, and may be difficult to use by non-technical personnel.
Despite a wealth of experience with packet voice, the field of packet telephony is still in its relative infancy and lacking in standards. Thus, as can be seen, there is a need for a packet telephony appliance that is relatively low in cost with respect to other consumer appliances, that has a wide range of extensibility, that is easy to use so that ordinary people that have no special technical training and that are probably unwilling to invest substantial resources in setting up and configuring new appliances can operate it, and that provides a high level of reliability even in possibly hostile physical environments.
Accordingly, the present invention is directed to a packet telephony appliance having a network processor that integrates networking and DSP functions, and has a serial input port, a serial output port and a network interface; has an output device coupled to the serial output port; has an input device coupled to the serial input port; and has a network coupled to the network interface, wherein the packet telephony appliance implements a unified buffering mechanism that provides zero-copy data movement, and wherein the packet telephony appliance implements an event-based mechanism for intra-appliance communication. The present invention is further directed to a method of providing system software services in a packet telephony appliance in which there is loading and executing a real-time single address space operating system kernel; implementing a uniform buffering mechanism across all modules in the packet telephony appliance, the uniform buffering mechanism being a zero-copy mechanism for storing and passing data; and implementing an event-based mechanism for communicating between the modules.